.TH std::chrono::high_resolution_clock::now 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::chrono::high_resolution_clock::now \- std::chrono::high_resolution_clock::now

.SH Synopsis
   static std::chrono::time_point<std::chrono::high_resolution_clock> now()     (since
   noexcept;                                                                    C++11)

   Returns a time point representing the current point in time.

.SH Parameters

   \fI(none)\fP

.SH Return value

   A time point representing the current time.

.SH Example


// Run this code

 #include <chrono>
 #include <cstddef>
 #include <iomanip>
 #include <iostream>
 #include <numeric>
 #include <vector>

 volatile int sink;

 void do_some_work(std::size_t size)
 {
     std::vector<int> v(size, 42);
     sink = std::accumulate(v.begin(), v.end(), 0); // make sure it is a side effect
 }

 int main()
 {
     std::cout << std::fixed << std::setprecision(9) << std::left;
     for (auto size{1ull}; size < 10'00'00'00'00ull; size *= 100)
     {
         const auto start = std::chrono::high_resolution_clock::now();
         do_some_work(size);
         const auto end = std::chrono::high_resolution_clock::now();

         const std::chrono::duration<double> diff = end - start;

         std::cout << "Time to fill and iterate a vector of " << std::setw(9)
                   << size << " ints : " << diff << '\\n';
     }
 }

.SH Possible output:

 Time to fill and iterate a vector of 1         ints : 0.000006568s
 Time to fill and iterate a vector of 100       ints : 0.000002854s
 Time to fill and iterate a vector of 10000     ints : 0.000116290s
 Time to fill and iterate a vector of 1000000   ints : 0.011742752s
 Time to fill and iterate a vector of 100000000 ints : 0.505534949s
